package com.ibeeking.found.upms.b.rest.service;

import com.ibeeking.found.common.entity.CurrentUser;
import com.ibeeking.found.upms.service.common.bo.CpUserRoleBO;
import com.ibeeking.found.upms.service.common.param.RoleUserParam;
import com.ibeeking.found.upms.service.common.param.UserRoleParam;

import java.util.List;

/**
 * @ClassName ICsUserRoleService
 * @Description
 * @Author ibeeking
 * @Date 2021-05-10 9:53
 **/
public interface ICpUserRoleService {

    /**
     * 通过客服Id修改客服角色信息
     *
     * @param currentUser
     * @param param
     * @return
     */
    Boolean modifyUserRoleByUserId(CurrentUser currentUser, UserRoleParam param);

    /**
     * 通过客服查询客服拥有角色id列表
     *
     * @param userId
     * @return
     */
    List<CpUserRoleBO> queryRoleIdsByUserId(Long userId);

    /**
     * 通过客服角色Id修改角色用户信息
     *
     * @param currentUser
     * @param param
     * @return
     */
    Boolean modifyUserRoleByRoleId(CurrentUser currentUser, RoleUserParam param);

    /**
     * 通过客服角色Id修改角色用户信息
     *
     * @param roleId
     * @return
     */
    List<CpUserRoleBO> queryUserIdsByRoleId(Long roleId);

    List<CpUserRoleBO> queryUserRoleByUserIds(List<Long> userIds);

    Boolean delByUserId(Long userId);

    Boolean delByRoleId(Long roleId);

    List<CpUserRoleBO> queryRoleIdsByUserIds(List<Long> userIds);

    List<CpUserRoleBO> queryUserIdsByRoleIds(List<Long> roleIds);
}
